package com.bjpowernode.javase.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.function.Consumer;

/*
关于集合遍历/迭代器
 */
public class CollectionTest02 {
    public static void main(String[] args) {
        //注意：以下讲解的遍历方式，是所有collection通用的一种方式。在Map集合中不能用。
        //创建集合对象
        Collection c = new ArrayList();

        c.add("abc");
        c.add("def");
        c.add(100);
        c.add(10);
        c.add(new Object());

        c.forEach(System.out::println);

        //返回集合对象的迭代器对象Iterator
        Iterator it  = c.iterator();
        /*
        以下两个方法是Iterator中的方法。
            boolean	hasNext() 如果仍有元素可以迭代则返回true
            E next() 返回下一个元素
         */

        /*boolean hasNext = it.hasNext();
        System.out.println(hasNext);
        if(hasNext){
            //不管当初存进去什么，取出来都是Object
            Object obj = it.next();
            System.out.println(obj);
        }

        hasNext = it.hasNext();
        System.out.println(hasNext);
        if(hasNext){
            //不管当初存进去什么，取出来都是Object
            Object obj = it.next();
            System.out.println(obj);
        }

        hasNext = it.hasNext();
        System.out.println(hasNext);
        if(hasNext){
            //不管当初存进去什么，取出来都是Object
            Object obj = it.next();
            System.out.println(obj);
        }

        hasNext = it.hasNext();
        System.out.println(hasNext);
        if(hasNext){
            //不管当初存进去什么，取出来都是Object
            Object obj = it.next();
            System.out.println(obj);
        }

        hasNext = it.hasNext();
        System.out.println(hasNext);
        if(hasNext){
            //不管当初存进去什么，取出来都是Object
            Object obj = it.next();
            System.out.println(obj);
        }

        hasNext = it.hasNext();
        System.out.println(hasNext);
        if(hasNext){
            //不管当初存进去什么，取出来都是Object
            Object obj = it.next();
            System.out.println(obj);
        }*/

        while(it.hasNext()){
            Object obj = it.next();
            System.out.println(obj);
        }

    }
}
